package io.renren.utils;

import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;

import java.util.ArrayList;
import java.util.List;

/**
 * Title:       WeiboContFilter
 * Description: 微博单词过滤器
 *
 * @author : liugaoyang
 * date         : 2019/7/10 10:09
 */
public class WeiboContFilter {

    private static List<String> list = null;

    private static List<String> getList(){
        if(list == null){
            return initList();
        } else {
            return list;
        }
    }

    private static List<String> initList() {
        list = new ArrayList<>();
        list.add("[搞笑]");
        list.add("【搞笑】");
        list.add("#搞笑#");
        list.add("「搞笑」");
        return list;
    }

    /**
     * 单词过滤器
     * @param weiboContent
     * @return
     */
    public static String filter(String weiboContent) {
        if(StrUtil.isBlank(weiboContent)){
            return null;
        }
        String replaceAll = ReUtil.replaceAll(weiboContent, "<.*?>", "");
        List<String> list = getList();
        String weiboContentTrim = replaceAll.trim();
        for (String word : list){
            weiboContentTrim = weiboContentTrim.replace(word, "");
        }
        return weiboContentTrim.trim();
    }

    public static void main(String[] args) {
        String string = "'衡量一个男人对你是不是真心的，主要取决于他在你身上花的成本——时间、金钱、精力等。<br /><br />如果只是随口的一句喜欢，你便奉若圣旨，那么只会让男生觉得你这个妹子很饥渴。<br /><br />所以即便你再喜欢对方，如果对方明知道你的心意却还是不主动，那么这段感情我劝你放弃。<br /><br />单方面的爱和付出是没有结果的，甚至会 ...<a href=\"/status/4402426125335874\">全文</a>'";
        String replaceAll1 = ReUtil.replaceAll(string, "<.*?>", "");
        System.out.println(replaceAll1);
    }
}
